package RRHH_Modelo;
import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class RHH_CARGO_PERFIL{
	private double ID_CARGO;
	private double ID_PERFIL;
        private Conexion con = null;
        
	public RHH_CARGO_PERFIL(){}

	public RHH_CARGO_PERFIL(double ID_CARGO,double ID_PERFIL){
		this.ID_CARGO =ID_CARGO;
		this.ID_PERFIL =ID_PERFIL;
	}

	public boolean Insertar(){
		try{
			String consulta = "insert into BROKER.RRH_CARGO_PERFIL(ID_CARGO,ID_PERFIL) VALUES ("+ID_CARGO+","+ID_PERFIL+")";
			con.EjecutarSentencia(consulta);
			return true;
		}
		catch(Exception e){
			e.printStackTrace();
			return false;
		}
	}
        
        public List<RHH_CARGO_PERFIL> TodosLosActivos(double cargo){
		try{String consulta = "select * from BROKER.RRH_CARGO_PERFIL where ID_CARGO = "+cargo;
			ResultSet rs = con.EjecutarConsulta(consulta);
			return Cargar(rs);}
		catch(Exception e){
			e.printStackTrace();}
			return null;
	}

	public boolean EliminarXid(){
		try{
			String consulta = "delete from BROKER.RRH_CARGO_PERFIL where ID_CARGO = "+getID_CARGO()+" and ID_PEFIL = "+getID_PERFIL();
			con.EjecutarSentencia(consulta);
			return true;
			}
		catch(Exception e){
			e.printStackTrace();
			return false;
		}
	}

	public RHH_CARGO_PERFIL BuscarXid(double idcargo, double idperfil){
		try{String consulta = "select * from BROKER.RRH_CARGO_PERFIL where ID_CARGO = "+idcargo+" and ID_PERFIL = "+idperfil;
			ResultSet rs = con.EjecutarConsulta(consulta);
			return Cargar(rs).get(0);}
		catch(Exception e){
			e.printStackTrace();}
			return null;
	}

	public List<RHH_CARGO_PERFIL> Todos(){
		try{String consulta = "select * from BROKER.RRH_CARGO_PERFIL";
			ResultSet rs = con.EjecutarConsulta(consulta);
			return Cargar(rs);}
		catch(Exception e){
			e.printStackTrace();}
			return null;
	}
        
        public boolean Desabilitar(double idcargo, double idperfil)
        {
            try{
                String consulta = "delete from BROKER.RRH_CARGO_PERFIL where ID_CARGO = "+idcargo+" and ID_PERFIL = "+idperfil;
                con.EjecutarSentencia(consulta);
                return true;
            }
            catch(Exception e){
                e.printStackTrace();
                return false;
            }
	}
        
	public boolean Abilitar(double idcargo, double idperfil)
        {
            try{
                String consulta = "insert into BROKER.RRH_CARGO_PERFIL(ID_CARGO,ID_PERFIL) VALUES ("+idcargo+","+idperfil+")";
                con.EjecutarSentencia(consulta);
                return true;
            }
            catch(Exception e){
                e.printStackTrace();
                return false;
            }
	}

	public List<RHH_CARGO_PERFIL> Cargar(ResultSet rs){
		try{
			List<RHH_CARGO_PERFIL> lista = new ArrayList<RHH_CARGO_PERFIL>();
			while(rs.next()){
				RHH_CARGO_PERFIL objeto = new RHH_CARGO_PERFIL();

				objeto.setID_CARGO(rs.getDouble("ID_CARGO"));
				objeto.setID_PERFIL(rs.getDouble("ID_PERFIL"));
                                objeto.setCon(con);
				lista.add(objeto);
			}
			return lista;
		}
		catch(SQLException ex){
			ex.printStackTrace();
		return null;}
	}

	public double getID_CARGO(){
		return ID_CARGO;
	}
	public void setID_CARGO(double ID_CARGO){
		this.ID_CARGO=ID_CARGO;
	}

	public double getID_PERFIL(){
		return ID_PERFIL;
	}
	public void setID_PERFIL(double ID_PERFIL){
		this.ID_PERFIL=ID_PERFIL;
	}

    public Conexion getCon() {
        return con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }  
        
}
